package com.netifera.platform.host.filesystem.ui; import org.eclipse.ui.IViewPart; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PartInitException; import org.eclipse.ui.internal.UIPlugin; import com.netifera.platform.host.filesystem.IFileSystem; import com.netifera.platform.host.internal.filesystem.ui.Activator; import com.netifera.platform.ui.actions.SpaceAction; public abstract class OpenFileSystemViewAction extends SpaceAction { public OpenFileSystemViewAction(final String name) { super(name); setImageDescriptor(Activator.getInstance().getImageCache().getDescriptor("icons/folders.png")); } public abstract IFileSystem createFileSystem(); @Override public void run() { IFileSystem fileSystem = createFileSystem(); try { IViewPart view = UIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage().showView( FileSystemView.ID, "SecondaryFileSystem" + System.currentTimeMillis(), IWorkbenchPage.VIEW_ACTIVATE); ((FileSystemView)view).setInput(fileSystem); } catch (PartInitException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }